package com.example.sprintboot.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.example.sprintboot.entity.UserAddress;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

@Mapper
public interface UserAddressMapper extends BaseMapper<UserAddress> {
    
    /**
     * 查询用户的所有地址
     */
    List<UserAddress> selectByUserId(@Param("userId") Integer userId);
    
    /**
     * 查询用户的默认地址
     */
    UserAddress selectDefaultAddress(@Param("userId") Integer userId);
    
    /**
     * 设置地址为默认地址
     */
    int setDefaultAddress(@Param("addressId") Integer addressId);
    
    /**
     * 取消用户的其他默认地址
     */
    int cancelOtherDefaultAddress(@Param("userId") Integer userId, @Param("addressId") Integer addressId);
    
    /**
     * 查询用户地址数量
     */
    int countByUserId(@Param("userId") Integer userId);
    
    /**
     * 检查地址是否属于用户
     */
    UserAddress selectByAddressIdAndUserId(@Param("addressId") Integer addressId, @Param("userId") Integer userId);
} 